/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#include "stdafx.h"
#include "引擎配置.h"

#include <filesystem>

std::string S_引擎配置::g_程序路径 = S_引擎配置::g_程序路径;
std::string S_引擎配置::m_UI着色器文件根路径 = S_引擎配置::m_UI着色器文件根路径;
std::string S_引擎配置::m_3D着色器文件根路径 = S_引擎配置::m_3D着色器文件根路径;

std::string S_引擎配置::m_着色器编译器路径 = S_引擎配置::m_着色器编译器路径;
std::string S_引擎配置::m_着色器头文件路径 = S_引擎配置::m_着色器头文件路径;

//std::vector<uvec2> S_引擎::m_内存分配偏移[12] = {};
//std::vector<uvec2> S_引擎::m_内存回收偏移[12] = {};
//std::vector<uvec2> S_引擎::m_预设几何图形顶点索引;


std::string S_引擎配置::g_工程文件临时路径 = S_引擎配置::g_工程文件临时路径;


uint64		S_引擎配置::读取加载文件版本号 = 0;



std::vector<std::string> S_引擎配置::g_支持的图像格式 = {
	".png",
	".jpg",
	".tga",
	".bmp",
	".hdr",
	".pic",
	".psd",
};




S_引擎配置::S_引擎配置() {
	//S_引擎配置::g_程序路径 = (std::filesystem::current_path().string()) + "/";

}

void S_引擎配置::f_初始化着色器文件路径() {
	S_引擎配置::g_程序路径 = (std::filesystem::current_path().string()) + "/";
	//if (S_引擎配置::g_程序路径 == nullptr) {
	//	S_引擎配置::g_程序路径 = new std::string;
	//}
	

	std::cout << "init global file path" << std::endl;
#ifdef 预定义_最终输出
	
#else
	S_引擎配置::g_程序路径 = "D:/U/Project/x64/天瀑/最终生成/";
#endif // 预定义_最终输出
 
	S_引擎配置::g_工程文件临时路径 = (std::filesystem::temp_directory_path().string());


	std::string 当前目录1 = std::filesystem::current_path().string();
	//S_引擎配置::g_程序路径 = 当前目录1;
	//(S_引擎配置::g_程序路径) = 当前目录1 + "/";
	//S_引擎配置::g_程序路径 = 当前目录1 += "/";
	//S_引擎配置::g_程序路径 = 当前目录1 + "\\";
	//std::wstring 当前目录2 = std::filesystem::current_path().wstring();
	//std::wstring 当前目录4 = std::filesystem::current_path();


	S_引擎配置::m_UI着色器文件根路径 = (S_引擎配置::g_程序路径) + "shader_2d/";
	S_引擎配置::m_3D着色器文件根路径 = (S_引擎配置::g_程序路径) + "shader_3d/";
	S_引擎配置::m_着色器头文件路径 = (S_引擎配置::g_程序路径) + "include";

	S_引擎配置::m_着色器编译器路径 = (S_引擎配置::g_程序路径) + "glslangValidator.exe";

}


std::string S_引擎配置::f_get着色器加载路径(std::string fileName) {

#ifdef 预定义_最终输出
	S_引擎配置::g_程序路径 = (std::filesystem::current_path().string()) + "/";
#else
	S_引擎配置::g_程序路径 = (std::filesystem::current_path().string()) + "/";
#endif // 预定义_最终输出

	return std::string();
}


